The process of creating the user-facing aspects of a system, from initial scoping and design through to coding and deployment. Typically iterative development is used where there are cycles where some form of prototype or design sketch is evaluated in a user study or expert evaluation. The design is then altered in the light of the formative evaluation, leading into another cycle.